<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" dir="ltr" class="client-nojs">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Filesystem library - cppreference.com</title>
<meta charset="UTF-8">
<meta name="generator" content="MediaWiki 1.21.2">


<link rel="shortcut icon" href="../../../favicon.ico">



<link rel="stylesheet" href="../../../common/ext.css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" href="../../../common/site_modules.css">
<style>a:lang(ar),a:lang(ckb),a:lang(fa),a:lang(kk-arab),a:lang(mzn),a:lang(ps),a:lang(ur){text-decoration:none}#toc{display:none}.editsection{display:none}
/* cache key: mwiki1-mwiki_en_:resourceloader:filter:minify-css:7:472787eddcf4605d11de8c7ef047234f */</style>

<script src="../../../common/startup_scripts.js"></script>
<script>if(window.mw){
mw.config.set({"wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"cpp/experimental/fs","wgTitle":"cpp/experimental/fs","wgCurRevisionId":80008,"wgArticleId":13361,"wgIsArticle":true,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":[],"wgBreakFrames":false,"wgPageContentLanguage":"en","wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgMonthNamesShort":["","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"wgRelevantPageName":"cpp/experimental/fs","wgRestrictionEdit":[],"wgRestrictionMove":[]});
}</script><script>if(window.mw){
mw.loader.implement("user.options",function(){mw.user.options.set({"ccmeonemails":0,"cols":80,"date":"default","diffonly":0,"disablemail":0,"disablesuggest":0,"editfont":"default","editondblclick":0,"editsection":0,"editsectiononrightclick":0,"enotifminoredits":0,"enotifrevealaddr":0,"enotifusertalkpages":1,"enotifwatchlistpages":0,"extendwatchlist":0,"externaldiff":0,"externaleditor":0,"fancysig":0,"forceeditsummary":0,"gender":"unknown","hideminor":0,"hidepatrolled":0,"imagesize":2,"justify":0,"math":1,"minordefault":0,"newpageshidepatrolled":0,"nocache":0,"noconvertlink":0,"norollbackdiff":0,"numberheadings":0,"previewonfirst":0,"previewontop":1,"quickbar":5,"rcdays":7,"rclimit":50,"rememberpassword":0,"rows":25,"searchlimit":20,"showhiddencats":0,"showjumplinks":1,"shownumberswatching":1,"showtoc":0,"showtoolbar":1,"skin":"cppreference2","stubthreshold":0,"thumbsize":2,"underline":2,"uselivepreview":0,"usenewrc":0,"watchcreations":0,"watchdefault":0,"watchdeletion":0,
"watchlistdays":3,"watchlisthideanons":0,"watchlisthidebots":0,"watchlisthideliu":0,"watchlisthideminor":0,"watchlisthideown":0,"watchlisthidepatrolled":0,"watchmoves":0,"wllimit":250,"variant":"en","language":"en","searchNs0":true,"searchNs1":false,"searchNs2":false,"searchNs3":false,"searchNs4":false,"searchNs5":false,"searchNs6":false,"searchNs7":false,"searchNs8":false,"searchNs9":false,"searchNs10":false,"searchNs11":false,"searchNs12":false,"searchNs13":false,"searchNs14":false,"searchNs15":false,"gadget-ColiruCompiler":1});;},{},{});mw.loader.implement("user.tokens",function(){mw.user.tokens.set({"editToken":"+\\","patrolToken":false,"watchToken":false});;},{},{});
/* cache key: mwiki1-mwiki_en_:resourceloader:filter:minify-js:7:ca03345b1e2c4d90a25d968753a73b92 */
}</script>
<script>if(window.mw){
mw.loader.load(["mediawiki.page.startup","mediawiki.legacy.wikibits","mediawiki.legacy.ajax"]);
}</script>
<style type="text/css">/*<![CDATA[*/
.source-cpp {line-height: normal;}
.source-cpp li, .source-cpp pre {
	line-height: normal; border: 0px none white;
}
/**
 * GeSHi Dynamically Generated Stylesheet
 * --------------------------------------
 * Dynamically generated stylesheet for cpp
 * CSS class: source-cpp, CSS id: 
 * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann
 * (http://qbnz.com/highlighter/ and http://geshi.org/)
 * --------------------------------------
 */
.cpp.source-cpp .de1, .cpp.source-cpp .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;}
.cpp.source-cpp  {font-family:monospace;}
.cpp.source-cpp .imp {font-weight: bold; color: red;}
.cpp.source-cpp li, .cpp.source-cpp .li1 {font-weight: normal; vertical-align:top;}
.cpp.source-cpp .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;}
.cpp.source-cpp .li2 {font-weight: bold; vertical-align:top;}
.cpp.source-cpp .kw1 {color: #0000dd;}
.cpp.source-cpp .kw2 {color: #0000ff;}
.cpp.source-cpp .kw3 {color: #0000dd;}
.cpp.source-cpp .kw4 {color: #0000ff;}
.cpp.source-cpp .co1 {color: #909090;}
.cpp.source-cpp .co2 {color: #339900;}
.cpp.source-cpp .coMULTI {color: #ff0000; font-style: italic;}
.cpp.source-cpp .es0 {color: #008000; font-weight: bold;}
.cpp.source-cpp .es1 {color: #008000; font-weight: bold;}
.cpp.source-cpp .es2 {color: #008000; font-weight: bold;}
.cpp.source-cpp .es3 {color: #008000; font-weight: bold;}
.cpp.source-cpp .es4 {color: #008000; font-weight: bold;}
.cpp.source-cpp .es5 {color: #008000; font-weight: bold;}
.cpp.source-cpp .br0 {color: #008000;}
.cpp.source-cpp .sy0 {color: #008000;}
.cpp.source-cpp .sy1 {color: #000080;}
.cpp.source-cpp .sy2 {color: #000040;}
.cpp.source-cpp .sy3 {color: #000040;}
.cpp.source-cpp .sy4 {color: #008080;}
.cpp.source-cpp .st0 {color: #008000;}
.cpp.source-cpp .nu0 {color: #000080;}
.cpp.source-cpp .nu6 {color: #000080;}
.cpp.source-cpp .nu8 {color: #000080;}
.cpp.source-cpp .nu12 {color: #000080;}
.cpp.source-cpp .nu16 {color:#000080;}
.cpp.source-cpp .nu17 {color:#000080;}
.cpp.source-cpp .nu18 {color:#000080;}
.cpp.source-cpp .nu19 {color:#000080;}
.cpp.source-cpp .ln-xtra, .cpp.source-cpp li.ln-xtra, .cpp.source-cpp div.ln-xtra {background-color: #ffc;}
.cpp.source-cpp span.xtra { display:block; }

/*]]>*/
</style>
<!--[if lt IE 7]><style type="text/css">body{behavior:url("/mwiki/skins/cppreference2/csshover.min.htc")}</style><![endif]-->
</head>
<body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-cpp_experimental_fs skin-cppreference2 action-view cpp-navbar">
        <!-- header -->
        
        <!-- /header -->
        <!-- content -->
        <div id="cpp-content-base">
            <div id="content">
                <a id="top"></a>
                <div id="mw-js-message" style="display:none;"></div>
                                <!-- firstHeading -->
                <h1 id="firstHeading" class="firstHeading">Filesystem library</h1>
                <!-- /firstHeading -->
                <!-- bodyContent -->
                <div id="bodyContent">
                                        <!-- tagline -->
                    <div id="siteSub">From cppreference.com</div>
                    <!-- /tagline -->
                                        <!-- subtitle -->
                    <div id="contentSub"><span class="subpages">&lt; <a href="../../cpp.html" title="cpp">cpp</a>‎ | <a href="../experimental.html" title="cpp/experimental">experimental</a></span></div>
                    <!-- /subtitle -->
                                                            <!-- bodycontent -->
                    <div id="mw-content-text" lang="en" dir="ltr" class="mw-content-ltr">
<div class="t-navbar" style="">
<div class="t-navbar-sep"> </div>
<div class="t-navbar-head">
<a href="../../cpp.html" title="cpp"> C++</a><div class="t-navbar-menu"><div>
<div><table class="t-nv-begin" cellpadding="0" style="line-height:1.1em;">
<tr class="t-nv"><td colspan="5"> <a href="../language.1.html" title="cpp/language"> Language</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../header.html" title="cpp/header"> Standard library headers</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../concept.html" title="cpp/concept"> Concepts</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../utility.html" title="cpp/utility"> Utilities library</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../string.html" title="cpp/string"> Strings library</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../container.html" title="cpp/container"> Containers library</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../algorithm.html" title="cpp/algorithm"> Algorithms library</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../iterator.html" title="cpp/iterator"> Iterators library</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../numeric.html" title="cpp/numeric"> Numerics library</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../io.html" title="cpp/io"> Input/output library</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../locale.html" title="cpp/locale"> Localizations library</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../regex.html" title="cpp/regex"> Regular expressions library</a> <span class="t-mark-rev t-since-cxx11">(C++11)</span> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../atomic.html" title="cpp/atomic"> Atomic operations library</a> <span class="t-mark-rev t-since-cxx11">(C++11)</span> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../thread.html" title="cpp/thread"> Thread support library</a> <span class="t-mark-rev t-since-cxx11">(C++11)</span> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../experimental.html" title="cpp/experimental"> Technical Specifications</a> </td></tr>
</table></div>
<div></div>
</div></div>
</div>
<div class="t-navbar-sep"> </div>
<div class="t-navbar-head">
<a href="../experimental.html" title="cpp/experimental"> Technical specifications</a><div class="t-navbar-menu"><div>
<div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"> <strong class="selflink">Filesystem library</strong> <span class="t-mark-rev t-since-fs-ts t-mark-ts">(filesystem TS)</span> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="memory.html" title="cpp/experimental/lib extensions">Library fundamentals</a> <span class="t-mark-rev t-since-libfund-ts t-mark-ts">(library fundamentals TS)</span>
</td></tr>
<tr class="t-nv"><td colspan="5"> <a href="lib_extensions_2.html" title="cpp/experimental/lib extensions 2">Library fundamentals 2</a> <span class="t-mark-rev t-since-libfund-2-ts t-mark-ts">(library fundamentals 2 TS)</span>
</td></tr>
<tr class="t-nv"><td colspan="5"> <a href="parallelism.html" title="cpp/experimental/parallelism">Extensions for parallelism</a> <span class="t-mark-rev t-since-fs-ts t-mark-ts">(parallelism TS)</span> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../language/concepts.html" title="cpp/language/constraints">Concepts</a> <span class="t-mark-rev t-since-concepts-ts t-mark-ts">(concepts TS)</span> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="concurrency.html" title="cpp/experimental/concurrency">Extensions for concurrency</a> <span class="t-mark-rev t-since-concurrency-ts t-mark-ts">(concurrency TS)</span> </td></tr>
</table></div>
<div></div>
</div></div>
</div>
<div class="t-navbar-sep"> </div>
<div class="t-navbar-head">
<strong class="selflink"> Filesystem library</strong><div class="t-navbar-menu"><div>
<div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv-h2"><td colspan="5"> Classes</td></tr>
<tr class="t-nv-col-table">
<td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/path.html" title="cpp/experimental/fs/path"><span class="t-lines"><span>filesystem::path</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/filesystem_error.html" title="cpp/experimental/fs/filesystem error"><span class="t-lines"><span>filesystem::filesystem_error</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/directory_entry.html" title="cpp/experimental/fs/directory entry"><span class="t-lines"><span>filesystem::directory_entry</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/directory_iterator.html" title="cpp/experimental/fs/directory iterator"><span class="t-lines"><span>filesystem::directory_iterator</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/recursive_directory_iterator.html" title="cpp/experimental/fs/recursive directory iterator"><span class="t-lines"><span>filesystem::recursive_directory_iterator</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/file_status.html" title="cpp/experimental/fs/file status"><span class="t-lines"><span>filesystem::file_status</span></span></a></div></div></td></tr>
</table></div></td>
<td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/space_info.html" title="cpp/experimental/fs/space info"><span class="t-lines"><span>filesystem::space_info</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/file_type.html" title="cpp/experimental/fs/file type"><span class="t-lines"><span>filesystem::file_type</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/perms.html" title="cpp/experimental/fs/perms"><span class="t-lines"><span>filesystem::perms</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/copy_options.html" title="cpp/experimental/fs/copy options"><span class="t-lines"><span>filesystem::copy_options</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/directory_options.html" title="cpp/experimental/fs/directory options"><span class="t-lines"><span>filesystem::directory_options</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/file_time_type.html" title="cpp/experimental/fs/file time type"><span class="t-lines"><span>filesystem::file_time_type</span></span></a></div></div></td></tr>
</table></div></td>
</tr>
<tr class="t-nv-h2"><td colspan="5"> Functions</td></tr>
<tr class="t-nv-col-table">
<td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/absolute.html" title="cpp/experimental/fs/absolute"><span class="t-lines"><span>filesystem::absolute<br>filesystem::system_complete</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/canonical.html" title="cpp/experimental/fs/canonical"><span class="t-lines"><span>filesystem::canonical</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/copy.html" title="cpp/experimental/fs/copy"><span class="t-lines"><span>filesystem::copy</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/copy_file.html" title="cpp/experimental/fs/copy file"><span class="t-lines"><span>filesystem::copy_file</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/copy_symlink.html" title="cpp/experimental/fs/copy symlink"><span class="t-lines"><span>filesystem::copy_symlink</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/create_directory.html" title="cpp/experimental/fs/create directory"><span class="t-lines"><span>filesystem::create_directory<br>filesystem::create_directories</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/create_hard_link.html" title="cpp/experimental/fs/create hard link"><span class="t-lines"><span>filesystem::create_hard_link</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/create_symlink.html" title="cpp/experimental/fs/create symlink"><span class="t-lines"><span>filesystem::create_symlink<br>filesystem::create_directory_symlink</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/current_path.html" title="cpp/experimental/fs/current path"><span class="t-lines"><span>filesystem::current_path</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/exists.html" title="cpp/experimental/fs/exists"><span class="t-lines"><span>filesystem::exists</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/equivalent.html" title="cpp/experimental/fs/equivalent"><span class="t-lines"><span>filesystem::equivalent</span></span></a></div></div></td></tr>
</table></div></td>
<td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/file_size.html" title="cpp/experimental/fs/file size"><span class="t-lines"><span>filesystem::file_size</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/hard_link_count.html" title="cpp/experimental/fs/hard link count"><span class="t-lines"><span>filesystem::hard_link_count</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/last_write_time.html" title="cpp/experimental/fs/last write time"><span class="t-lines"><span>filesystem::last_write_time</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/permissions.html" title="cpp/experimental/fs/permissions"><span class="t-lines"><span>filesystem::permissions</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/read_symlink.html" title="cpp/experimental/fs/read symlink"><span class="t-lines"><span>filesystem::read_symlink</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/remove.html" title="cpp/experimental/fs/remove"><span class="t-lines"><span>filesystem::remove<br>filesystem::remove_all</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/rename.html" title="cpp/experimental/fs/rename"><span class="t-lines"><span>filesystem::rename</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/resize_file.html" title="cpp/experimental/fs/resize file"><span class="t-lines"><span>filesystem::resize_file</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/space.html" title="cpp/experimental/fs/space"><span class="t-lines"><span>filesystem::space</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/status.html" title="cpp/experimental/fs/status"><span class="t-lines"><span>filesystem::status<br>filesystem::symlink_status</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/temp_directory_path.html" title="cpp/experimental/fs/temp directory path"><span class="t-lines"><span>filesystem::temp_directory_path</span></span></a></div></div></td></tr>
</table></div></td>
</tr>
<tr class="t-nv-h2"><td colspan="5">File types</td></tr>
<tr class="t-nv-col-table">
<td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/is_block_file.html" title="cpp/experimental/fs/is block file"><span class="t-lines"><span>filesystem::is_block_file</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/is_character_file.html" title="cpp/experimental/fs/is character file"><span class="t-lines"><span>filesystem::is_character_file</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/is_directory.html" title="cpp/experimental/fs/is directory"><span class="t-lines"><span>filesystem::is_directory</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/is_empty.html" title="cpp/experimental/fs/is empty"><span class="t-lines"><span>filesystem::is_empty</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/status_known.html" title="cpp/experimental/fs/status known"><span class="t-lines"><span>filesystem::status_known</span></span></a></div></div></td></tr>
</table></div></td>
<td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/is_fifo.html" title="cpp/experimental/fs/is fifo"><span class="t-lines"><span>filesystem::is_fifo</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/is_other.html" title="cpp/experimental/fs/is other"><span class="t-lines"><span>filesystem::is_other</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/is_regular_file.html" title="cpp/experimental/fs/is regular file"><span class="t-lines"><span>filesystem::is_regular_file</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/is_socket.html" title="cpp/experimental/fs/is socket"><span class="t-lines"><span>filesystem::is_socket</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="fs/is_symlink.html" title="cpp/experimental/fs/is symlink"><span class="t-lines"><span>filesystem::is_symlink</span></span></a></div></div></td></tr>
</table></div></td>
</tr>
</table></div>
<div></div>
</div></div>
</div>
<div class="t-navbar-sep"> </div>
</div>
<p>The Filesystem library, ISO/IEC TS 18822:2015, provides facilities for performing operations on file systems and their components, such as paths, regular files, and directories.
</p>
<p>This library is an optional <a href="../experimental.html" title="cpp/experimental">technical specification</a> and may be unavailable if a hierarchical file system is not accessible to the implementation, or if it does not provide the necessary capabilities. Some features may not be available if they are not supported by the underlying file system (e.g. FAT filesystem has no hardlinks, softlinks, and other features)
</p>
<p>The behavior is <a href="../language/ub.html" title="cpp/language/ub">undefined</a> if the calls to functions in this library introduce a <i>file system race</i>, that is, when multiple threads, processes, or computers interleave access and modification to the same object in a file system.
</p>
<p>This library is directly based on <a rel="nofollow" class="external text" href="http%3A//www.boost.org/doc/libs/release/libs/filesystem/doc/index.htm">boost.filesystem</a>, which is currently available on more compilers and platforms than this experimental technical specification.
</p>
<table id="toc" class="toc"><tr><td>
<div id="toctitle"><h2>Contents</h2></div>
<ul>
<li class="toclevel-1 tocsection-1"><a href="fs.html#Library-wide_concepts"><span class="tocnumber">1</span> <span class="toctext">Library-wide concepts</span></a></li>
<li class="toclevel-1 tocsection-2"><a href="fs.html#Classes"><span class="tocnumber">2</span> <span class="toctext">Classes</span></a></li>
<li class="toclevel-1 tocsection-3">
<a href="fs.html#Non-member_functions"><span class="tocnumber">3</span> <span class="toctext">Non-member functions</span></a>
<ul>
<li class="toclevel-2"><a href="fs.html#File_types"><span class="tocnumber">3.1</span> <span class="toctext">File types</span></a></li>
</ul>
</li>
</ul>
</td></tr></table>
<h4>
<span class="editsection">[<a href="http%3A//en.cppreference.com/mwiki/index.php" title="Edit section: Library-wide concepts">edit</a>]</span> <span class="mw-headline" id="Library-wide_concepts">Library-wide concepts</span>
</h4>
<ul><li> <i>file</i>: a file system object that holds data, can be written to, read from, or both. Files have names, attributes, one of which is file type:
</li></ul>
<dl><dd>
<ul>
<li> <i>directory</i>: a file that acts as a container of directory entries, which identify other files (some of which may be other, nested, directories). When discussing a particular file, the directory in which it appears as an entry is its <i>parent directory</i>. The parent directory can be represented by the relative pathname <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="st0">".."</span></span></span>
</li>
<li> <i>hard link</i>: a directory entry that associates a name with an existing file. If multiple hard links are supported, the file is removed after the last hard link to it is removed.
</li>
<li> <i>symbolic link</i>: a directory entry that associates a name with a path, which may or may not exist. 
</li>
<li> <i>regular file</i>: a file that is not one of the other file types
</li>
</ul>
</dd></dl>
<ul>
<li> <i>file name</i>: a string of characters that names a file. Permissible characters, case sensitivity, maximum length, and the disallowed names are implementation-defined. Names <span class="t-c"><span class="mw-geshi cpp source-cpp">.</span></span> (dot) and <span class="t-c"><span class="mw-geshi cpp source-cpp">..</span></span> (dot-dot) have special meaning at library level.
</li>
<li> <i>path</i>: sequence of elements that identifies a file. It begins with an optional <span class="t-spar">root-name</span> (e.g. <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="st0">"C:"</span></span></span> or <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="st0">"//server"</span></span></span>), followed by optional <span class="t-spar">root-directory</span> (e.g. <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="st0">"/"</span></span></span> on Unix), followed by a sequence of zero or more file names (all but last of which have to be directories or links to directoriess). The native format (e.g. which characters are used as separators) and character encoding of the string representation of a path (the <i>pathname</i>) is implementation-defined, this library provides portable representation of paths.
</li>
</ul>
<dl><dd>
<ul>
<li> <i>absolute path</i>: a path that unambiguously identifies the location of a file
</li>
<li> <i>canonical path</i>: an absolute path that includes no symlinks, <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="st0">"."</span></span></span> or <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="st0">".."</span></span></span> elements.
</li>
<li> <i>relative path</i>: a path that identifies a file relative to some location on the file system. The special path names <span class="t-c"><span class="mw-geshi cpp source-cpp">.</span></span> (dot, "current directory") and <span class="t-c"><span class="mw-geshi cpp source-cpp">..</span></span> (dot-dot, "parent directory") are relative paths.
</li>
</ul>
</dd></dl>
<h3>
<span class="editsection">[<a href="http%3A//en.cppreference.com/mwiki/index.php" title="Edit section: Classes">edit</a>]</span> <span class="mw-headline" id="Classes">Classes</span>
</h3>
<table class="t-dsc-begin">

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/path.html" title="cpp/experimental/fs/path"> <span class="t-lines"><span>path</span></span></a></div></div>
</td>
<td>   represents a path  <br> <span class="t-mark">(class)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/filesystem_error.html" title="cpp/experimental/fs/filesystem error"> <span class="t-lines"><span>filesystem_error</span></span></a></div></div>
</td>
<td>   an exception thrown on file system errors <br> <span class="t-mark">(class)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/directory_entry.html" title="cpp/experimental/fs/directory entry"> <span class="t-lines"><span>directory_entry</span></span></a></div></div>
</td>
<td>   a directory entry <br> <span class="t-mark">(class)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/directory_iterator.html" title="cpp/experimental/fs/directory iterator"> <span class="t-lines"><span>directory_iterator</span></span></a></div></div>
</td>
<td>   an iterator to the contents of the directory <br> <span class="t-mark">(class)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/recursive_directory_iterator.html" title="cpp/experimental/fs/recursive directory iterator"> <span class="t-lines"><span>recursive_directory_iterator</span></span></a></div></div>
</td>
<td>   an iterator to the contents of a directory and its subdirectories <br> <span class="t-mark">(class)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/file_status.html" title="cpp/experimental/fs/file status"> <span class="t-lines"><span>file_status</span></span></a></div></div>
</td>
<td>   represents file type and permissions <br> <span class="t-mark">(class)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/space_info.html" title="cpp/experimental/fs/space info"> <span class="t-lines"><span>space_info</span></span></a></div></div>
</td>
<td>   information about free and available space on the filesystem <br> <span class="t-mark">(class)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/file_type.html" title="cpp/experimental/fs/file type"> <span class="t-lines"><span>file_type</span></span></a></div></div>
</td>
<td>   the type of a file <br> <span class="t-mark">(enum)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/perms.html" title="cpp/experimental/fs/perms"> <span class="t-lines"><span>perms</span></span></a></div></div>
</td>
<td>   identifies file system permissions <br> <span class="t-mark">(enum)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/copy_options.html" title="cpp/experimental/fs/copy options"> <span class="t-lines"><span>copy_options</span></span></a></div></div>
</td>
<td>   specifies semantics of copy operations <br> <span class="t-mark">(enum)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/directory_options.html" title="cpp/experimental/fs/directory options"> <span class="t-lines"><span>directory_options</span></span></a></div></div>
</td>
<td>   options for iterating directory contents <br> <span class="t-mark">(enum)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/file_time_type.html" title="cpp/experimental/fs/file time type"> <span class="t-lines"><span>file_time_type</span></span></a></div></div>
</td>
<td>   represents file time values <br> <span class="t-mark">(typedef)</span> 
</td>
</tr>
</table>
<h3>
<span class="editsection">[<a href="http%3A//en.cppreference.com/mwiki/index.php" title="Edit section: Non-member functions">edit</a>]</span> <span class="mw-headline" id="Non-member_functions">Non-member functions</span>
</h3>
<table class="t-dsc-begin">

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/absolute.html" title="cpp/experimental/fs/absolute"> <span class="t-lines"><span>absolute</span><span>system_complete</span></span></a></div></div>
</td>
<td>  composes an absolute path<br>converts a path to an absolute path replicating OS-specific behavior <br> <span class="t-mark">(function)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/canonical.html" title="cpp/experimental/fs/canonical"> <span class="t-lines"><span>canonical</span></span></a></div></div>
</td>
<td>   composes a canonical path <br> <span class="t-mark">(function)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/copy.html" title="cpp/experimental/fs/copy"> <span class="t-lines"><span>copy</span></span></a></div></div>
</td>
<td>   copies files or directories <br> <span class="t-mark">(function)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/copy_file.html" title="cpp/experimental/fs/copy file"> <span class="t-lines"><span>copy_file</span></span></a></div></div>
</td>
<td>   copies file contents <br> <span class="t-mark">(function)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/copy_symlink.html" title="cpp/experimental/fs/copy symlink"> <span class="t-lines"><span>copy_symlink</span></span></a></div></div>
</td>
<td>   copies a symbolic link <br> <span class="t-mark">(function)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/create_directory.html" title="cpp/experimental/fs/create directory"> <span class="t-lines"><span>create_directory</span><span>create_directories</span></span></a></div></div>
</td>
<td>   creates new directory <br> <span class="t-mark">(function)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/create_hard_link.html" title="cpp/experimental/fs/create hard link"> <span class="t-lines"><span>create_hard_link</span></span></a></div></div>
</td>
<td>   creates a hard link <br> <span class="t-mark">(function)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/create_symlink.html" title="cpp/experimental/fs/create symlink"> <span class="t-lines"><span>create_symlink</span><span>create_directory_symlink</span></span></a></div></div>
</td>
<td>   creates a symbolic link <br> <span class="t-mark">(function)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/current_path.html" title="cpp/experimental/fs/current path"> <span class="t-lines"><span>current_path</span></span></a></div></div>
</td>
<td>   return current working directory <br> <span class="t-mark">(function)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/exists.html" title="cpp/experimental/fs/exists"> <span class="t-lines"><span>exists</span></span></a></div></div>
</td>
<td>   checks whether path refers to existing file system object  <br> <span class="t-mark">(function)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/equivalent.html" title="cpp/experimental/fs/equivalent"> <span class="t-lines"><span>equivalent</span></span></a></div></div>
</td>
<td>   checks whether two paths refer to the same file system object <br> <span class="t-mark">(function)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/file_size.html" title="cpp/experimental/fs/file size"> <span class="t-lines"><span>file_size</span></span></a></div></div>
</td>
<td>   returns the size of a file <br> <span class="t-mark">(function)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/hard_link_count.html" title="cpp/experimental/fs/hard link count"> <span class="t-lines"><span>hard_link_count</span></span></a></div></div>
</td>
<td>   returns the number of hard links referring to the specific file <br> <span class="t-mark">(function)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/last_write_time.html" title="cpp/experimental/fs/last write time"> <span class="t-lines"><span>last_write_time</span></span></a></div></div>
</td>
<td>   gets or sets the time of the last data modification  <br> <span class="t-mark">(function)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/permissions.html" title="cpp/experimental/fs/permissions"> <span class="t-lines"><span>permissions</span></span></a></div></div>
</td>
<td>   modifies file access permissions <br> <span class="t-mark">(function)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/read_symlink.html" title="cpp/experimental/fs/read symlink"> <span class="t-lines"><span>read_symlink</span></span></a></div></div>
</td>
<td>   obtains the target of a symbolic link <br> <span class="t-mark">(function)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/remove.html" title="cpp/experimental/fs/remove"> <span class="t-lines"><span>remove</span><span>remove_all</span></span></a></div></div>
</td>
<td>   removes a file or empty directory<br>removes a file or directory and all its contents, recursively <br> <span class="t-mark">(function)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/rename.html" title="cpp/experimental/fs/rename"> <span class="t-lines"><span>rename</span></span></a></div></div>
</td>
<td>   moves or renames a file or directory <br> <span class="t-mark">(function)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/resize_file.html" title="cpp/experimental/fs/resize file"> <span class="t-lines"><span>resize_file</span></span></a></div></div>
</td>
<td>   changes the size of a regular file by truncation or zero-fill <br> <span class="t-mark">(function)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/space.html" title="cpp/experimental/fs/space"> <span class="t-lines"><span>space</span></span></a></div></div>
</td>
<td>   determines available free space on the file system <br> <span class="t-mark">(function)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/status.html" title="cpp/experimental/fs/status"> <span class="t-lines"><span>status</span><span>symlink_status</span></span></a></div></div>
</td>
<td>  determines file attributes<br>determines file attributes, checking the symlink target <br> <span class="t-mark">(function)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/temp_directory_path.html" title="cpp/experimental/fs/temp directory path"> <span class="t-lines"><span>temp_directory_path</span></span></a></div></div>
</td>
<td>   returns a directory suitable for temporary files <br> <span class="t-mark">(function)</span> 
</td>
</tr>

<tr>
<td colspan="2"> <h5> <span class="mw-headline" id="File_types">  File types </span>
</h5>
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/is_block_file.html" title="cpp/experimental/fs/is block file"> <span class="t-lines"><span>is_block_file</span></span></a></div></div>
</td>
<td>   checks whether the given path refers to block device <br> <span class="t-mark">(function)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/is_character_file.html" title="cpp/experimental/fs/is character file"> <span class="t-lines"><span>is_character_file</span></span></a></div></div>
</td>
<td>   checks whether the given path refers to a character device <br> <span class="t-mark">(function)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/is_directory.html" title="cpp/experimental/fs/is directory"> <span class="t-lines"><span>is_directory</span></span></a></div></div>
</td>
<td>   checks whether the given path refers to a directory <br> <span class="t-mark">(function)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/is_empty.html" title="cpp/experimental/fs/is empty"> <span class="t-lines"><span>is_empty</span></span></a></div></div>
</td>
<td>   checks whether the given path refers to an empty file or directory <br> <span class="t-mark">(function)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/is_fifo.html" title="cpp/experimental/fs/is fifo"> <span class="t-lines"><span>is_fifo</span></span></a></div></div>
</td>
<td>   checks whether the given path refers to a named pipe <br> <span class="t-mark">(function)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/is_other.html" title="cpp/experimental/fs/is other"> <span class="t-lines"><span>is_other</span></span></a></div></div>
</td>
<td>   checks whether the argument refers to an <i>other</i> file <br> <span class="t-mark">(function)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/is_regular_file.html" title="cpp/experimental/fs/is regular file"> <span class="t-lines"><span>is_regular_file</span></span></a></div></div>
</td>
<td>   checks whether the argument refers to a regular file <br> <span class="t-mark">(function)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/is_socket.html" title="cpp/experimental/fs/is socket"> <span class="t-lines"><span>is_socket</span></span></a></div></div>
</td>
<td>   checks whether the argument refers to a named IPC socket <br> <span class="t-mark">(function)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/is_symlink.html" title="cpp/experimental/fs/is symlink"> <span class="t-lines"><span>is_symlink</span></span></a></div></div>
</td>
<td>   checks whether the argument refers to a symbolic link <br> <span class="t-mark">(function)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="fs/status_known.html" title="cpp/experimental/fs/status known"> <span class="t-lines"><span>status_known</span></span></a></div></div>
</td>
<td>   checks whether file status is known <br> <span class="t-mark">(function)</span> 
</td>
</tr>
</table>

<!-- 
NewPP limit report
Preprocessor visited node count: 7302/1000000
Preprocessor generated node count: 6781/1000000
Post‐expand include size: 264953/2097152 bytes
Template argument size: 44608/2097152 bytes
Highest expansion depth: 20/40
Expensive parser function count: 0/100
-->

<!-- Saved in parser cache with key mwiki1-mwiki_en_:pcache:idhash:13361-0!*!0!!en!*!* and timestamp 20150728153423 -->
</div>                    <!-- /bodycontent -->
                                        <!-- printfooter -->
                    <div class="printfooter">
                    Retrieved from "<a href="http%3A//en.cppreference.com/mwiki/index.php">http://en.cppreference.com/mwiki/index.php?title=cpp/experimental/fs&amp;oldid=80008</a>"                    </div>
                    <!-- /printfooter -->
                                                            <!-- catlinks -->
                    <div id="catlinks" class="catlinks catlinks-allhidden"></div>                    <!-- /catlinks -->
                                                            <div class="visualClear"></div>
                    <!-- debughtml -->
                                        <!-- /debughtml -->
                </div>
                <!-- /bodyContent -->
            </div>
        </div>
        <!-- /content -->
        <!-- footer -->
        
        <!-- /footer -->
        <script>if(window.mw){
mw.loader.state({"site":"loading","user":"missing","user.groups":"ready"});
}</script>
<script src="../../../common/skin_scripts.js"></script>
<script>if(window.mw){
mw.loader.load(["mediawiki.action.view.postEdit","mediawiki.user","mediawiki.page.ready","mediawiki.searchSuggest","mediawiki.hidpi","ext.gadget.ColiruCompiler"], null, true);
}</script>
<script src="../../../common/site_scripts.js"></script>

<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-2828341-1']);
_gaq.push(['_setDomainName', 'cppreference.com']);
_gaq.push(['_trackPageview']);
</script><!-- Served in 0.075 secs. -->
	</body>
<!-- Cached 20150728153522 -->
</html>
